home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Present…ry 5: (Reseller Edition) / Apple Reference & Presentations Library 5.0 (Reseller Edition).iso / 5-Fonts & Software / HyperCard 1.2.5 / HyperCard Stacks / DateBook / DateBook / background_3583.txt < prev    next >
Text File  |  1989-09-06  |  13KB  |  586 lines

  1. -- background: 3583 from stack: in
  2. -- bmap block id: 3595
  3. -- flags: 4000
  4. -- background id: 0
  5. -- name: Weekly
  6. ----- HyperTalk script -----
  7. on extendWeekly
  8.   global extendInProgress
  9.   put true into extendInProgress
  10.   answer "Extend until end of a six-month period?" with "OK" or "Cancel"
  11.   if it is not "OK" then
  12.     put false into extendInProgress
  13.     exit to HyperCard
  14.   end if
  15.   put the userLevel into saveLevel
  16.   set userLevel to 5
  17.   push card
  18.   set lockScreen to true
  19.   doMenu "New Card"
  20.   fillWeekly
  21.   set lockScreen to true
  22.   pop card
  23.   if the number of card buttons > 0
  24.   then
  25.   choose button tool
  26.   click at loc of card btn "Extend"
  27.   doMenu "Clear Button"
  28.   choose browse tool
  29.   doMenu "Compact Stack"
  30. end if
  31. go last card of bkgnd
  32. set lockScreen to false
  33. set userLevel to saveLevel
  34. end extendWeekly
  35.  
  36. on fillWeekly
  37.   global oneDay,extendInProgress
  38.   set lockMessages to true
  39.   set cursor to 4
  40.   put getStartDate() into start
  41.   put thisHalfYear(start+190*oneDay) into myEnd
  42.   get myEnd
  43.   convert it to dateItems
  44.   if item 7 of it > 2 and item 7 of it < 6 -- Tues thru Thu
  45.   then subtract 7*oneDay from myEnd
  46.   set lockScreen to false
  47.   put weekNumber(start+3*oneDay) into startWeek
  48.   if startWeek > 53 then put 1 into startweek
  49.   put false into doneYet
  50.   repeat while start < myEnd -- until begin of next 6-month period
  51.     if doneYet then doMenu "New Card"
  52.     put start into field "WeekSecs"
  53.     get start + 3*oneDay
  54.     convert it to dateItems
  55.     put (item 1 of it) && dayMonthName(2,item 2 of it) into field "Month"
  56.     if startWeek > 53 then put 1 into startweek
  57.     put startWeek into field "WeekNumber"
  58.     add 1 to startWeek
  59.     repeat with index = 1 to 7
  60.       get start
  61.       convert it to dateItems
  62.       put "WeekDay"&index into myDay
  63.       put (item 3 of it) into field myDay
  64.       add oneDay to start
  65.     end repeat
  66.     put true into doneYet
  67.   end repeat
  68.   set lockScreen to true
  69.   go to last card of bkgnd "Weekly"
  70.   doMenu "New Button"
  71.   set name of btn (the number of card buttons) to "Extend"
  72.   set rect of btn "Extend" to 351,238,431,255
  73.   set script of card btn "Extend" to "on mouseUp"&return&"extend 1"&return&"end mouseUp"
  74.   choose browse tool
  75.   set lockScreen to false
  76.   set lockMessages to true
  77. end fillWeekly
  78.  
  79. function getStartDate
  80. global oneDay,extendInProgress
  81. put startOfWeek(the seconds) into thisWeek
  82. if thisWeek < 2587766400 then --before jan 1, 1986
  83.   answer "Set the time to today's date."
  84.   exit to HyperCard
  85. end if
  86. set lockScreen to true
  87. go to prev card
  88. get the short name of bkgnd
  89. go back
  90. set lockScreen to false
  91. if it is not "Weekly"
  92. then
  93. get startOfWeek(thisHalfYear(the seconds))
  94. else
  95.   get oneDay*7 + field "WeekSecs" of prev card
  96.   if it >= thisWeek then return it
  97.   put it into myDate
  98.   convert it to short date
  99.   put thisWeek into dateWeek
  100.   convert thisWeek to short date
  101.   answer "Extend from which date?" with it or thisWeek or "Cancel"
  102.   if it is "Cancel" or it is empty then
  103.     put true into extendInProgress
  104.     doMenu "Delete Card"
  105.     go to prev card
  106.     put false into extendInProgress
  107.     exit to HyperCard
  108.   end if
  109.   if it is thisWeek then get dateWeek else get myDate
  110. end if
  111. return it
  112. end getStartDate
  113.  
  114. function weekNumber start
  115. global oneDay
  116. get start
  117. convert it to dateItems
  118. put 1 into item 2 of it
  119. get thisHalfYear(it)
  120. convert it to dateItems
  121. if item 7 of it > 1 and item 7 of it < 6 then add 7*oneDay to start
  122. convert it to seconds
  123. return (start-startOfWeek(it)) div (oneDay*7)
  124. end weekNumber
  125.  
  126. on doMenu menuItem
  127.   global extendInProgress
  128.   if extendInProgress is false and menuItem is "New Card"
  129.   then extend 1
  130. else pass doMenu
  131. end doMenu
  132.  
  133. on doPaintText
  134.   doMenu "Background"
  135.   set textHeight to 18
  136.   set textSize to 18
  137.   set textFont to "Times"
  138.   set textAlign to "Right"
  139.   put textHeight of field "WeekDay1"-3 into myOffset
  140.   repeat with dayNum = 1 to 7
  141.     put the rect of field ("WeekDay"&dayNum) into myR
  142.     put item 1 of myR into myRLeft
  143.     put item 2 of myR into myRTop
  144.     choose select tool
  145.     drag from myRLeft-42,myRTop to myRLeft,item 4 of myR
  146.     doMenu "Clear Picture"
  147.     choose text tool
  148.     click at myRLeft-4,myRTop + myOffset
  149.     type dayMonthName(3,1 + dayNum mod 7)
  150.     doMenu "Select"
  151.     doMenu "Transparent"
  152.   end repeat
  153.   doMenu "Background"
  154.   choose browse tool
  155. end doPaintText
  156.  
  157.  
  158. -- part 12 (field)
  159. -- low flags: 00
  160. -- high flags: 4000
  161. -- rect: left=32 top=77 right=149 bottom=223
  162. -- title width / last selected line: 0
  163. -- icon id / first selected line: 0 / 0
  164. -- text alignment: 0
  165. -- font id: 3
  166. -- text size: 12
  167. -- style flags: 0
  168. -- line height: 14
  169. -- part name: 
  170.  
  171.  
  172. -- part 14 (field)
  173. -- low flags: 00
  174. -- high flags: 4000
  175. -- rect: left=32 top=166 right=238 bottom=223
  176. -- title width / last selected line: 0
  177. -- icon id / first selected line: 0 / 0
  178. -- text alignment: 0
  179. -- font id: 3
  180. -- text size: 12
  181. -- style flags: 0
  182. -- line height: 14
  183. -- part name: 
  184.  
  185.  
  186. -- part 15 (field)
  187. -- low flags: 00
  188. -- high flags: 4000
  189. -- rect: left=31 top=255 right=327 bottom=222
  190. -- title width / last selected line: 0
  191. -- icon id / first selected line: 0 / 0
  192. -- text alignment: 0
  193. -- font id: 3
  194. -- text size: 12
  195. -- style flags: 0
  196. -- line height: 14
  197. -- part name: 
  198.  
  199.  
  200. -- part 45 (field)
  201. -- low flags: 00
  202. -- high flags: 4000
  203. -- rect: left=284 top=77 right=149 bottom=475
  204. -- title width / last selected line: 0
  205. -- icon id / first selected line: 0 / 0
  206. -- text alignment: 0
  207. -- font id: 3
  208. -- text size: 12
  209. -- style flags: 0
  210. -- line height: 14
  211. -- part name: 
  212.  
  213.  
  214. -- part 17 (field)
  215. -- low flags: 00
  216. -- high flags: 4000
  217. -- rect: left=284 top=166 right=238 bottom=475
  218. -- title width / last selected line: 0
  219. -- icon id / first selected line: 0 / 0
  220. -- text alignment: 0
  221. -- font id: 3
  222. -- text size: 12
  223. -- style flags: 0
  224. -- line height: 14
  225. -- part name: 
  226.  
  227.  
  228. -- part 18 (field)
  229. -- low flags: 00
  230. -- high flags: 4000
  231. -- rect: left=289 top=255 right=327 bottom=380
  232. -- title width / last selected line: 0
  233. -- icon id / first selected line: 0 / 0
  234. -- text alignment: 0
  235. -- font id: 3
  236. -- text size: 12
  237. -- style flags: 0
  238. -- line height: 14
  239. -- part name: 
  240.  
  241.  
  242. -- part 80 (field)
  243. -- low flags: 00
  244. -- high flags: 4000
  245. -- rect: left=384 top=255 right=327 bottom=475
  246. -- title width / last selected line: 0
  247. -- icon id / first selected line: 0 / 0
  248. -- text alignment: 0
  249. -- font id: 3
  250. -- text size: 12
  251. -- style flags: 0
  252. -- line height: 14
  253. -- part name: 
  254.  
  255.  
  256. -- part 27 (field)
  257. -- low flags: 01
  258. -- high flags: 0000
  259. -- rect: left=11 top=32 right=56 bottom=146
  260. -- title width / last selected line: 0
  261. -- icon id / first selected line: 0 / 0
  262. -- text alignment: 0
  263. -- font id: 20
  264. -- text size: 18
  265. -- style flags: 0
  266. -- line height: 24
  267. -- part name: Month
  268.  
  269.  
  270. -- part 20 (field)
  271. -- low flags: 00
  272. -- high flags: 0000
  273. -- rect: left=186 top=32 right=56 bottom=209
  274. -- title width / last selected line: 0
  275. -- icon id / first selected line: 0 / 0
  276. -- text alignment: 0
  277. -- font id: 20
  278. -- text size: 18
  279. -- style flags: 0
  280. -- line height: 24
  281. -- part name: WeekNumber
  282.  
  283.  
  284. -- part 21 (field)
  285. -- low flags: 01
  286. -- high flags: 0000
  287. -- rect: left=52 top=60 right=77 bottom=79
  288. -- title width / last selected line: 0
  289. -- icon id / first selected line: 0 / 0
  290. -- text alignment: 0
  291. -- font id: 20
  292. -- text size: 18
  293. -- style flags: 0
  294. -- line height: 18
  295. -- part name: weekday1
  296.  
  297.  
  298. -- part 22 (field)
  299. -- low flags: 01
  300. -- high flags: 0000
  301. -- rect: left=52 top=149 right=166 bottom=79
  302. -- title width / last selected line: 0
  303. -- icon id / first selected line: 0 / 0
  304. -- text alignment: 0
  305. -- font id: 20
  306. -- text size: 18
  307. -- style flags: 0
  308. -- line height: 18
  309. -- part name: weekday2
  310.  
  311.  
  312. -- part 23 (field)
  313. -- low flags: 01
  314. -- high flags: 0000
  315. -- rect: left=52 top=238 right=255 bottom=79
  316. -- title width / last selected line: 0
  317. -- icon id / first selected line: 0 / 0
  318. -- text alignment: 0
  319. -- font id: 20
  320. -- text size: 18
  321. -- style flags: 0
  322. -- line height: 18
  323. -- part name: weekday3
  324.  
  325.  
  326. -- part 24 (field)
  327. -- low flags: 01
  328. -- high flags: 0000
  329. -- rect: left=474 top=60 right=77 bottom=501
  330. -- title width / last selected line: 0
  331. -- icon id / first selected line: 0 / 0
  332. -- text alignment: 0
  333. -- font id: 20
  334. -- text size: 18
  335. -- style flags: 0
  336. -- line height: 18
  337. -- part name: weekday4
  338.  
  339.  
  340. -- part 25 (field)
  341. -- low flags: 01
  342. -- high flags: 0000
  343. -- rect: left=474 top=149 right=166 bottom=501
  344. -- title width / last selected line: 0
  345. -- icon id / first selected line: 0 / 0
  346. -- text alignment: 0
  347. -- font id: 20
  348. -- text size: 18
  349. -- style flags: 0
  350. -- line height: 18
  351. -- part name: weekday5
  352.  
  353.  
  354. -- part 26 (field)
  355. -- low flags: 01
  356. -- high flags: 0000
  357. -- rect: left=311 top=238 right=255 bottom=338
  358. -- title width / last selected line: 0
  359. -- icon id / first selected line: 0 / 0
  360. -- text alignment: 0
  361. -- font id: 20
  362. -- text size: 18
  363. -- style flags: 0
  364. -- line height: 18
  365. -- part name: weekday6
  366.  
  367.  
  368. -- part 66 (button)
  369. -- low flags: 00
  370. -- high flags: 0000
  371. -- rect: left=276 top=32 right=59 bottom=315
  372. -- title width / last selected line: 0
  373. -- icon id / first selected line: 17481 / 17481
  374. -- text alignment: 1
  375. -- font id: 0
  376. -- text size: 12
  377. -- style flags: 0
  378. -- line height: 16
  379. -- part name: Address
  380. ----- HyperTalk script -----
  381. on mouseUp
  382.   goAddress
  383. end mouseUp
  384.  
  385.  
  386.  
  387. -- part 67 (button)
  388. -- low flags: 00
  389. -- high flags: 0000
  390. -- rect: left=322 top=30 right=59 bottom=361
  391. -- title width / last selected line: 0
  392. -- icon id / first selected line: 20965 / 20965
  393. -- text alignment: 1
  394. -- font id: 0
  395. -- text size: 12
  396. -- style flags: 0
  397. -- line height: 16
  398. -- part name: To Do
  399. ----- HyperTalk script -----
  400. on mouseUp
  401.   visual effect zoom open
  402.   go card 1 of bkgnd "To Do"
  403. end mouseUp
  404.  
  405.  
  406.  
  407. -- part 68 (button)
  408. -- low flags: 00
  409. -- high flags: 0000
  410. -- rect: left=366 top=30 right=59 bottom=405
  411. -- title width / last selected line: 0
  412. -- icon id / first selected line: 8961 / 8961
  413. -- text alignment: 1
  414. -- font id: 0
  415. -- text size: 12
  416. -- style flags: 0
  417. -- line height: 16
  418. -- part name: Daily
  419. ----- HyperTalk script -----
  420. on mouseUp
  421.   Answer "You are already in the daily calendar."
  422. end mouseUp
  423.  
  424.  
  425.  
  426. -- part 72 (button)
  427. -- low flags: 00
  428. -- high flags: 0000
  429. -- rect: left=414 top=30 right=59 bottom=453
  430. -- title width / last selected line: 0
  431. -- icon id / first selected line: 22855 / 22855
  432. -- text alignment: 1
  433. -- font id: 0
  434. -- text size: 12
  435. -- style flags: 0
  436. -- line height: 16
  437. -- part name: 
  438. ----- HyperTalk script -----
  439. on mouseUp
  440.   goSixMonthly field "weekSecs"
  441. end mouseUp
  442.  
  443.  
  444.  
  445. -- part 75 (button)
  446. -- low flags: 00
  447. -- high flags: 0000
  448. -- rect: left=462 top=30 right=59 bottom=500
  449. -- title width / last selected line: 0
  450. -- icon id / first selected line: 20098 / 20098
  451. -- text alignment: 1
  452. -- font id: 0
  453. -- text size: 12
  454. -- style flags: 0
  455. -- line height: 16
  456. -- part name: Home
  457. ----- HyperTalk script -----
  458. on mouseUp
  459.   visual effect iris close
  460.   go home
  461. end mouseUp
  462.  
  463.  
  464.  
  465. -- part 74 (button)
  466. -- low flags: 00
  467. -- high flags: 0000
  468. -- rect: left=211 top=34 right=55 bottom=235
  469. -- title width / last selected line: 0
  470. -- icon id / first selected line: 30696 / 30696
  471. -- text alignment: 1
  472. -- font id: 0
  473. -- text size: 12
  474. -- style flags: 0
  475. -- line height: 16
  476. -- part name: Phone
  477. ----- HyperTalk script -----
  478. on mouseUp
  479.   send myDial to stack
  480. end mouseUp
  481.  
  482.  
  483.  
  484. -- part 76 (button)
  485. -- low flags: 00
  486. -- high flags: 0000
  487. -- rect: left=223 top=317 right=335 bottom=243
  488. -- title width / last selected line: 0
  489. -- icon id / first selected line: 1014 / 1014
  490. -- text alignment: 1
  491. -- font id: 0
  492. -- text size: 12
  493. -- style flags: 0
  494. -- line height: 16
  495. -- part name: Prev
  496. ----- HyperTalk script -----
  497. on mouseUp
  498.   go prev
  499. end mouseUp
  500.  
  501.  
  502. -- part 77 (button)
  503. -- low flags: 00
  504. -- high flags: 0000
  505. -- rect: left=268 top=317 right=335 bottom=287
  506. -- title width / last selected line: 0
  507. -- icon id / first selected line: 1013 / 1013
  508. -- text alignment: 1
  509. -- font id: 0
  510. -- text size: 12
  511. -- style flags: 0
  512. -- line height: 16
  513. -- part name: Next
  514. ----- HyperTalk script -----
  515. on mouseUp
  516.   go next
  517. end mouseUp
  518.  
  519.  
  520. -- part 78 (button)
  521. -- low flags: 00
  522. -- high flags: 0000
  523. -- rect: left=476 top=317 right=335 bottom=499
  524. -- title width / last selected line: 0
  525. -- icon id / first selected line: 1012 / 1012
  526. -- text alignment: 1
  527. -- font id: 0
  528. -- text size: 12
  529. -- style flags: 0
  530. -- line height: 16
  531. -- part name: Return
  532. ----- HyperTalk script -----
  533. on mouseUp
  534.   visual effect iris close
  535.   pop card
  536.   push card
  537. end mouseUp
  538.  
  539.  
  540.  
  541. -- part 82 (field)
  542. -- low flags: 01
  543. -- high flags: 0000
  544. -- rect: left=474 top=238 right=255 bottom=501
  545. -- title width / last selected line: 0
  546. -- icon id / first selected line: 0 / 0
  547. -- text alignment: 0
  548. -- font id: 20
  549. -- text size: 18
  550. -- style flags: 0
  551. -- line height: 18
  552. -- part name: weekday7
  553.  
  554.  
  555. -- part 83 (field)
  556. -- low flags: 81
  557. -- high flags: 0000
  558. -- rect: left=96 top=63 right=75 bottom=184
  559. -- title width / last selected line: 0
  560. -- icon id / first selected line: 0 / 0
  561. -- text alignment: 0
  562. -- font id: 4
  563. -- text size: 9
  564. -- style flags: 0
  565. -- line height: 9
  566. -- part name: weekSecs
  567.  
  568.  
  569. -- part 86 (button)
  570. -- low flags: 00
  571. -- high flags: 0000
  572. -- rect: left=12 top=318 right=336 bottom=30
  573. -- title width / last selected line: 0
  574. -- icon id / first selected line: 26635 / 26635
  575. -- text alignment: 1
  576. -- font id: 0
  577. -- text size: 12
  578. -- style flags: 0
  579. -- line height: 16
  580. -- part name: 
  581. ----- HyperTalk script -----
  582. on mouseUp
  583.   go to card "About"
  584. end mouseUp
  585.  
  586.